package com.example.liuke.guangguang.untils;

import android.annotation.SuppressLint;
import android.text.TextUtils;

import java.io.File;
import java.util.ArrayList;

/**
 * Created by liuke on 2017/10/27.
 */

public class Getfiles {
    /**
     *  
     *      * 从sd卡获取图片资源,sd卡不存在就在应用目录下 
     *      * @return 
     *      
     */
    public static ArrayList<String> getImagePathFromSD(String filename){
        String filePath = "/mnt/usb_storage/"+filename;
        // 图片列表  
        ArrayList<String> imagePathList = new ArrayList<String>();

        // 得到该路径文件夹下所有的文件  
        File fileAll = new File(filePath);
        if (!fileAll.exists()) {
            fileAll.mkdirs();
        }
        File[] files = fileAll.listFiles();
        // 将所有的文件存入ArrayList中,并过滤所有图片格式的文件  
        for (int i = 0; i < files.length; i++) {
            File file = files[i];
            if (checkIsImageFile(file.getPath())) {
                imagePathList.add(file.getPath());
            }
        }
        // 返回得到的图片列表  
        return imagePathList;
    }

    /**
     *  
     *      * 检查扩展名，得到图片格式的文件 
     *      * @param fName  文件名 
     *      * @return 
     *      
     */
    @SuppressLint("DefaultLocale")
    private static boolean checkIsImageFile(String fName) {
        boolean isImageFile = false;
        // 获取扩展名  
        String FileEnd = fName.substring(fName.lastIndexOf(".") + 1, fName.length()).toLowerCase();
        if (FileEnd.equals("jpg") || FileEnd.equals("png") || FileEnd.equals("gif")
                || FileEnd.equals("jpeg") || FileEnd.equals("bmp") || FileEnd.equals("mp4")) {
            isImageFile = true;
        } else {
            isImageFile = false;
        }
        return isImageFile;
    }

    /**
     * 获取文件名
     *
     * @param path
     *            全路径
     * @return
     */
    public static String getFileName(String path) {
        if (!TextUtils.isEmpty(path)) {
            return path.substring(path.lastIndexOf(File.separator) + 1);
        }
        return "";
    }

}
